-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add aarch64 manylinux wheels #2425
Conversation
Thank you Matthieu.
Please, let's just add aarch64 wheels for now (the ones with the highest demand). There's too many |
Signed-off-by: mayeut <[email protected]>
Python 3 manylinux CI image does not have net-tools (hence ifconfig) pre-installed, so tests using it were skippied altogether. Signed-off-by: Ben Raz <[email protected]>
Signed-off-by: mayeut <[email protected]>
aaa0606
to
6aa80d3
Compare
I removed I kept musllinux which are I think the second highest demand with 1 related issue & 3 opened PR.
There are now less with s390x being dropped. I however understand your concern. Given GHA will most likely provide a native aarch64 before the end of the year, the QEMU test commit might be dropped completely 6aa80d3.
Agreed, that's why I disabled test_memleaks on those architectures. It was the only flaky one as far as I saw (and memleaks should mostly be independent of the processor architecture and tested otherwise). Please feel free to force-push, drop commits, ... as you see fit. I have backups / alternatives to this work in my fork. |
It seems I cannot modify your PR (I can push but can't see the changes reflected in here). |
weird...
QEMU provides full-system emulation or user-mode emulation. Here, we only use user-mode emulation. |
Signed-off-by: mayeut <[email protected]>
Signed-off-by: mayeut <[email protected]>
6aa80d3
to
06585ec
Compare
I guess you meant HISTORY ? |
Signed-off-by: mayeut <[email protected]>
06585ec
to
91cf7db
Compare
Yes, sorry. 😄 |
Summary
fixes [Linux] Publish armv7l & aarch64 wheels #1966
fixes [Linux][aarch64] Wheel support for aarch64 Linux #1972
fixes ARM64 support #2206
mitigates [AWS Graviton2] graviton gcc flags break pip install #2090
mitigates [Ubuntu18.04] failed to install, gcc error #2175
mitigates [Asahi Fedora] Building from source fails on Linux ARM64 #2293
closes add aarch64 to cibuildwheel for linux #2178
closes wheels: add arm64 builds #2224
Description
This PR continues work from #2103 (I've never removed that branch and rebased on master once in a while so that's the same branch in this PR).
cherry-picked commits from #2126 for missing test dependency in manylinux.
main differences between this PR and #2224:
This PR does not build
ppc64le
&s390x
.This PR does not build musllinux wheels.
This PR adds tests for architectures running QEMU:
While the tests needed some modifications in order to pass, IMHO, it's best to check than what can be tested does work as intended.
Running with QEMU however hides some bugs (thinking about /proc/cpuinfo and cpu related stuff here) that actually do exist or comes with its own bugs (s390x and /proc endianness issue is most likely a qemu issue).
aarch64 will most likely be able to run natively by the end of the year.
This PR does not add Windows ARM64 wheel
It could be added without any tests but I'd rather see Microsoft add Windows ARM64 runners to GitHub if they want to get some traction for their new platform (hopefully by the end of the year).
This PR does not add macOS universal2 wheel
My personal opinion is that it's not useful as long as you provide both x86_64 & arm64 wheels (which is the case).
They do take more space for the end user, pip will always choose the most specific one so publishing 3 will change nothing for almost all users. Remain people packaging universal2 python apps, and, IMHO, this should be handled by the tools creating such apps.
This PR feels simpler regarding the change of workflow
Regarding tests that are failing on real arm64 hardware but hidden by QEMU testing: